package com.fast.develop.core;

import com.fast.develop.core.context.ModuleContext;
import com.fast.develop.core.persistence.DomainModelManager;

/**
 * @author 莫寅
 * @createTime 2022-06-08 01:38
 * @desc：
 */
public interface ModuleContextFactory<T extends ModuleConfiguration> {


    public ModuleContext create(T moduleConfiguration);

    public ModuleContext create(String id, T moduleConfiguration);

    public void destroy();

    public ModuleContext getDomainModuleContext(String id);

    public ModuleContext getDomainModuleContext();

    public DomainModelManager getDomainModelManager();
}
